
module Involutive_mul(
  input [31:0] op_ori,
  output [31:0] op_res
);
  /* verilator lint_off LITENDIAN */
  /* verilator lint_off UNOPTFLAT */
  /* verilator lint_off IMPERFECTSCH */
  logic [0:213] t;
  /* verilator lint_on IMPERFECTSCH */
  /* verilator lint_on UNOPTFLAT */
  /* verilator lint_on LITENDIAN */
  assign t[0:31] =  op_ori;
  assign t[32] = t[6] + t[5];
  assign t[33] = t[17] + t[22];
  assign t[34] = t[10] + t[25];
  assign t[35] = t[20] + t[21];
  assign t[36] = t[26] + t[29];
  assign t[37] = t[31] + t[33];
  assign t[38] = t[36] + t[9];
  assign t[39] = t[23] + t[30];
  assign t[40] = t[37] + t[24];
  assign t[41] = t[12] + t[35];
  assign t[42] = t[11] + t[2];
  assign t[43] = t[8] + t[16];
  assign t[44] = t[42] + t[43];
  assign t[45] = t[41] + t[39];
  assign t[46] = t[24] + t[0];
  assign t[47] = t[40] + t[39];
  assign t[48] = t[4] + t[14];
  assign t[49] = t[22] + t[15];
  assign t[50] = t[47] + t[32];
  assign t[51] = t[28] + t[29];
  assign t[52] = t[29] + t[48];
  assign t[53] = t[48] + t[27];
  assign t[54] = t[16] + t[52];
  assign t[55] = t[53] + t[35];
  assign t[56] = t[1] + t[32];
  assign t[57] = t[19] + t[35];
  assign t[58] = t[57] + t[34];
  assign t[59] = t[55] + t[2];
  assign t[60] = t[58] + t[39];
  assign t[61] = t[39] + t[5];
  assign t[62] = t[51] + t[45];
  assign t[63] = t[9] + t[56];
  assign t[64] = t[27] + t[18];
  assign t[65] = t[2] + t[45];
  assign t[66] = t[64] + t[38];
  assign t[67] = t[61] + t[38];
  assign t[68] = t[35] + t[50];
  assign t[69] = t[68] + t[43];
  assign t[70] = t[7] + t[21];
  assign t[71] = t[33] + t[5];
  assign t[72] = t[45] + t[18];
  assign t[73] = t[5] + t[21];
  assign t[74] = t[21] + t[66];
  assign t[75] = t[43] + t[0];
  assign t[76] = t[75] + t[49];
  assign t[77] = t[0] + t[67];
  assign t[78] = t[52] + t[70];
  assign t[79] = t[70] + t[65];
  assign t[80] = t[78] + t[62];
  assign t[81] = t[25] + t[72];
  assign t[82] = t[34] + t[13];
  assign t[83] = t[13] + t[67];
  assign t[84] = t[67] + t[54];
  assign t[85] = t[84] + t[63];
  assign t[86] = t[79] + t[14];
  assign t[87] = t[86] + t[77];
  assign t[88] = t[77] + t[66];
  assign t[89] = t[50] + t[60];
  assign t[90] = t[88] + t[49];
  assign t[91] = t[66] + t[46];
  assign t[92] = t[49] + t[59];
  assign t[93] = t[91] + t[44];
  assign t[94] = t[92] + t[54];
  assign t[95] = t[46] + t[54];
  assign t[96] = t[54] + t[18];
  assign t[97] = t[18] + t[62];
  assign t[98] = t[97] + t[44];
  assign t[99] = t[90] + t[98];
  assign t[100] = t[98] + t[56];
  assign t[101] = t[62] + t[69];
  assign t[102] = t[69] + t[14];
  assign t[103] = t[14] + t[73];
  assign t[104] = t[73] + t[56];
  assign t[105] = t[56] + t[65];
  assign t[106] = t[65] + t[44];
  assign t[107] = t[44] + t[81];
  assign t[108] = t[101] + t[81];
  assign t[109] = t[108] + t[74];
  assign t[110] = t[83] + t[72];
  assign t[111] = t[103] + t[110];
  assign t[112] = t[81] + t[110];
  assign t[113] = t[110] + t[59];
  assign t[114] = t[59] + t[74];
  assign t[115] = t[114] + t[30];
  assign t[116] = t[74] + t[60];
  assign t[117] = t[106] + t[60];
  assign t[118] = t[60] + t[63];
  assign t[119] = t[95] + t[76];
  assign t[120] = t[76] + t[32];
  assign t[121] = t[85] + t[3];
  assign t[122] = t[63] + t[112];
  assign t[123] = t[122] + t[107];
  assign t[124] = t[32] + t[15];
  assign t[125] = t[15] + t[72];
  assign t[126] = t[107] + t[30];
  assign t[127] = t[3] + t[89];
  assign t[128] = t[30] + t[125];
  assign t[129] = t[125] + t[89];
  assign t[130] = t[94] + t[105];
  assign t[131] = t[105] + t[82];
  assign t[132] = t[100] + t[111];
  assign t[133] = t[111] + t[123];
  assign t[134] = t[123] + t[89];
  assign t[135] = t[72] + t[38];
  assign t[136] = t[128] + t[120];
  assign t[137] = t[120] + t[71];
  assign t[138] = t[129] + t[82];
  assign t[139] = t[89] + t[116];
  assign t[140] = t[102] + t[80];
  assign t[141] = t[113] + t[140];
  assign t[142] = t[140] + t[104];
  assign t[143] = t[118] + t[124];
  assign t[144] = t[135] + t[71];
  assign t[145] = t[71] + t[127];
  assign t[146] = t[124] + t[87];
  assign t[147] = t[104] + t[127];
  assign t[148] = t[127] + t[80];
  assign t[149] = t[112] + t[145];
  assign t[150] = t[119] + t[145];
  assign t[151] = t[87] + t[117];
  assign t[152] = t[137] + t[121];
  assign t[153] = t[117] + t[109];
  assign t[154] = t[152] + t[139];
  assign t[155] = t[132] + t[131];
  assign t[156] = t[80] + t[144];
  assign t[157] = t[121] + t[133];
  assign t[158] = t[153] + t[145];
  assign t[159] = t[139] + t[130];
  assign t[160] = t[145] + t[148];
  assign t[161] = t[150] + t[144];
  assign t[162] = t[144] + t[126];
  assign t[163] = t[130] + t[38];
  assign t[164] = t[126] + t[138];
  assign t[165] = t[38] + t[82];
  assign t[166] = t[82] + t[134];
  assign t[167] = t[165] + t[93];
  assign t[168] = t[146] + t[96];
  assign t[169] = t[148] + t[136];
  assign t[170] = t[138] + t[96];
  assign t[171] = t[134] + t[141];
  assign t[172] = t[160] + t[99];
  assign t[173] = t[149] + t[116];
  assign t[174] = t[168] + t[93];
  assign t[175] = t[96] + t[172];
  assign t[176] = t[175] + t[162];
  assign t[177] = t[109] + t[159];
  assign t[178] = t[93] + t[155];
  assign t[179] = t[169] + t[170];
  assign t[180] = t[159] + t[166];
  assign t[181] = t[170] + t[147];
  assign t[182] = t[141] + t[163];
  assign t[183] = t[116] + t[161];
  assign t[184] = t[161] + t[179];
  assign t[185] = t[147] + t[156];
  assign t[186] = t[157] + t[167];
  assign t[187] = t[182] + t[185];
  assign t[188] = t[115] + t[178];
  assign t[189] = t[183] + t[176];
  assign t[190] = t[133] + t[142];
  assign t[191] = t[142] + t[167];
  assign t[192] = t[99] + t[174];
  assign t[193] = t[172] + t[184];
  assign t[194] = t[163] + t[158];
  assign t[195] = t[174] + t[193];
  assign t[196] = t[158] + t[154];
  assign t[197] = t[167] + t[194];
  assign t[198] = t[194] + t[188];
  assign t[199] = t[188] + t[180];
  assign t[200] = t[155] + t[173];
  assign t[201] = t[180] + t[184];
  assign t[202] = t[173] + t[181];
  assign t[203] = t[136] + t[166];
  assign t[204] = t[171] + t[164];
  assign t[205] = t[162] + t[177];
  assign t[206] = t[131] + t[151];
  assign t[207] = t[193] + t[154];
  assign t[208] = t[192] + t[143];
  assign t[209] = t[178] + t[166];
  assign t[210] = t[176] + t[187];
  assign t[211] = t[156] + t[186];
  assign t[212] = t[203] + t[189];
  assign t[213] = t[143] + t[197];
  
  assign op_res = {t[202],t[164],t[189],t[184],t[209],t[205],t[210],t[186],
                   t[195],t[211],t[196],t[177],t[213],t[185],t[199],t[166],
                   t[201],t[154],t[208],t[181],t[198],t[191],t[207],t[151],
                   t[179],t[206],t[204],t[190],t[212],t[187],t[200],t[197]};
  
endmodule
